﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CamadaDados;

namespace CasaisEmEdificacao.Gerenciador.agenda
{
    public partial class index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Util.AlertaCliente util = new Util.AlertaCliente();

                if (Request["Msn"] != null)
                {

                    lblMensagem.Text = util.MensagemCliente(Convert.ToInt32(Request["Msn"].ToString()));
                    lblMensagem.Visible = true;
                }


                CarregarAgenda();


            }
            else
            {
                lblMensagem.Visible = false;
            }
        }

        public void CarregarAgenda()
        {
            var banco = new DB_CASAIS();
            grdAgenda.DataSource = banco.tb_agenda.OrderByDescending(q => q.DT_INCLUSAO).ToList();
            grdAgenda.DataBind();
        }

        protected void grdAgenda_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string acao = e.CommandName.ToString();
            string strCodAgenda = e.CommandArgument.ToString();

            switch (acao)
            {
                case "Editar":
                    Response.Redirect("~/Gerenciador/agenda/formAgenda.aspx?codAgenda=" + strCodAgenda);
                    break;

                case "Excluir":
                    ExcluirAgenda(Convert.ToInt32(strCodAgenda));
                    break;

                
            }
        }

        private void ExcluirAgenda(int intCodAgenda)
        {

            var util = new Util.AlertaCliente();

            try
            {
                var banco = new DB_CASAIS();
                var objAgenda = banco.tb_agenda.Where(q => q.CO_AGENDA == intCodAgenda).FirstOrDefault();
                banco.DeleteObject(objAgenda);
                banco.SaveChanges();
                lblMensagem.Text = util.MensagemCliente(3);
                lblMensagem.Visible = true;
                CarregarAgenda();
            }
            catch (Exception)
            {
                lblMensagem.Text = util.MensagemCliente(4);
                lblMensagem.Visible = true;
            }


        }
    }
}